The present invention relates to a graphics processor, and in particular, to a graphics processor in which a graphics drawing processing performance is improved in the neighborhood of a boundary of a drawing region.
As described in pages 375 to 381 of the "Fundamentals of Interactive Computer Graphics" Foley Addisson Wesley (1982), when data of a display list described as codes representing graphic images is to be drawn using a graphics processor, a mechanism to check the data of the display list is employed in many cases such that graphic images not overflowing development areas or regions specified as drawing areas or domains are to be developed and graphic images beyond the specified development areas are not to be developed. With this provision, unnecessary drawing operations can be avoided, which hence efficiently increases the drawing speed. In this operation, for each of a plurality of drawing graphic image units (segment units), a minimum rectangular range circumscribing the segment is required to be computed. Subsequently, the rectangular range (called an existence area) is first compared with the associated development area such that when the existence area is explicity beyond the development area, the system skips the drawing operation for the segment. As described above, the drawing processing need not be accomplished for all segments described in the display list. This procedure is especially effective when the development area is smaller than the overall graphic image constituted with all drawing segments contained in the display list.
In the processing described above, the development and existence areas for the area comparison are generally defined with independent world coordinates with respect to coordinates associated with the output devices, such as a CRT, so as to minimize the number of area computations.
The prior art technology is efficient when the drawing graphic images are defined only on the world coordinate system. However, in the conventional technology, considerations have not been given to a graphic image defined by use of two kinds of coordinate systems, including the world coordinate system and a device coordinate system (depending on an output device such as a CRT). These kinds of graphic images include bold-line images and marker images. For example, for a bold-line image, the world coordinates are used to define positions where bold lines are to be drawn and start and end points of direct lines as centers of the respective bold lines; whereas, the device coordinates are employed to define line widths thereof. For such graphics, the comparison between the existence area and the development area described above cannot be achieved. Namely, each segment is required to be first developed. In consequence, in a case where most drawing segments of the graphic images are defined by both the world and device coordinates, there arises a problem that the virtual drawing speed is lowered.
On the other hand, when displaying a graphic image in a window (development area) opened on a screen, if the image overflows the window, it is necessary not to display an overflowed portion. In accordance with the conventional clipping method, based on a boundary line of the window, a portion of the display image inside the window is determined so as to display only the determined portion in the screen, namely, the other portions are prevented from being displayed.
Japanese Patent Applications, JP-A-59-117661 and JP-A-62-69372 are related to the conventional clipping technology.
For example, as shown in FIG. 13A, let us assume that a bold line 107 is to be displayed in a window (development region) B on a screen A. In an ordinary case, on both sides of a line 101 defined as a base in the world coordinate system, auxiliary lines 102 and 103 are computed in the device coordinate system to attain bit data thereof, thereby drawing the data to expand the line width. (In FIG. 13A, for simplicity of explanation, gaps are shown between the lines 101 and 102 and between the lines 102 and 103; however, these gaps are not actually visible, namely, a bold line 107 is visually recognized.) In addition, for example, when displaying a marker 104, a command to display a marker is inputted to the system and only a center point 105 is specified with world coordinates. As a result, a graphic image (X in this example) of a marker shown in FIG. 13A is displayed on the screen.
As described above, in a case where a marker and bold line are being displayed in the window B, when another window (development area) C is opened as shown in FIG. 13B, if respective portions of the marker 104 and the bold line 107 not concealed by the window C are not displayed, an unnatural feeling is conceived by the operator. However, in the case shown in FIG. 13B, since the center point 5 of the marker 104 defined with the world coordinates is within the window C, the marker is judged in the conventional clipping operation to be beyond the development area (a portion of the window B not concealed by the window C in the case of FIG. 13B) and is hence not displayed at all. That is, the display of FIG. 13B where a portion is displayed is not obtained, namely, the graphic image is entirely removed. In addition, in the case of the bold line 107, when the overall image of the center line 101 defined with the world coordinates is concealed by the development area C, the computations of the auxiliary lines 102 and 103 are not carried out such that even in a case where a portion of the auxiliary line 102 is within the drawing domain of the window B as shown here, the auxiliary line 102 is not displayed.
In order to remove the disadvantage above, according to the prior art technology, a range where the marker exists (a range including the overall image of X in the case above) is computed to determine whether or not the range is within the development area. Moreover, in the case of the bold line, the same check is also achieved for the auxiliary lines so as to execute processing such that items within the development range are displayed, thereby implementing an algorithm which does not give an unnatural feeling to the operator visually checking images on the screen. However, the processing of this kind is attended with a problem that the processing time is elongated and hence the drawing performance is considerably lowered.